
Security News
Deno 2.4 Brings Back deno bundle, Improves Dependency Management and Observability
Deno 2.4 brings back bundling, improves dependency updates and telemetry, and makes the runtime more practical for real-world JavaScript projects.
smooth-scrollbar
Advanced tools
Customize scrollbar in modern browsers with smooth scrolling experience.
Customize scrollbar in modern browsers with smooth scrolling experience.
Browser | Version |
---|---|
IE | 10+ |
Chrome | 22+ |
Firefox | 16+ |
Safari | 8+ |
Android Browser | 4+ |
Chrome for Android | 32+ |
iOS Safarri | 7+ |
Via npm:
npm install smooth-scrollbar --save
Via bower:
bower install smooth-scrollbar --save
http://idiotwu.github.io/smooth-scrollbar/
As is explained in this article, browser repaint every frame in scrolling. Less painting is better.
To avoid repainting, I use translate3d
in scroll content to create composite layers and force hardware accelerating.
Smooth scrollbar is defined as an UMD module which named Scrollbar
, you can use any loader to load it:
import Scrollbar from 'smooth-scrollbar';
Or get it from window
object:
const { Scrollbar } = window;
Don't forget to include the stylesheet in your page:
<link rel="stylesheet" href="dist/smooth-scrollbar.css">
Here's three way to tell the plugin which element should be a smooth scrollbar:
As an element:
<scrollbar>
...
</scrollbar>
As an attribute:
<section scrollbar>
...
</section>
As a data attribute
<section data-scrollbar>
...
</section>
Then init all scrollbars:
Scrollbar.initAll(options);
Or you can call Scrollbar.init(elem, options)
to manually init the scrollbar.
parameter | type | default | description |
---|---|---|---|
speed | Number | 1 | Scrolling speed scale. |
fricton | Number | 10 | Scrolling fricton, a percentage value within (1, 100) |
inflection | Number | 10 | When scrolling speed is lower than infleciton point, sensitivity will be scaled to 10x. |
sensitivity | Number | 0.1 | Wheel sensitivity, lower is accurate. |
Confusing with the option field? Try editor tool here!
Following is the DOM structure that Scrollbar generated:
<scrollbar>
<article class="scroll-content">
your content here
</article>
<aside class="scrollbar-track scrollbar-track-x">
<div class="scrollbar-thumb scrollbar-thumb-x"></div>
</aside>
<aside class="scrollbar-track scrollbar-track-y">
<div class="scrollbar-thumb scrollbar-thumb-y"></div>
</aside>
</scrollbar>
Details here.
MIT.
3.1.0
scrollTo
method.FAQs
Customize scrollbar in modern browsers with smooth scrolling experience.
The npm package smooth-scrollbar receives a total of 18,816 weekly downloads. As such, smooth-scrollbar popularity was classified as popular.
We found that smooth-scrollbar demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.4 brings back bundling, improves dependency updates and telemetry, and makes the runtime more practical for real-world JavaScript projects.
Security News
CVEForecast.org uses machine learning to project a record-breaking surge in vulnerability disclosures in 2025.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.